/**   
 *  Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 *
* @Title: RunnerFactory.java 
* @Package multithread.framework 
* @Description: TODO
* @author dailey  
* @date 2012-10-31
* @version V1.0   
*/
package multithread.framework.threadmethod;

import multithread.framework.Runner;
import multithread.framework.ThreadRunListener;

/**
 * @author dailey
 *
 */
public final class RunnerFactory {
	private RunnerFactory() {
	}

	public static Runner config(IContainer container, Object testcase, ThreadRunListener threadRunListener) {
		return new _ThreadMethodRunner(threadRunListener, container, testcase);
	}

	public static Runner config(IContainer container, Object testcase) {
		return new _ThreadMethodRunner(null, container, testcase);
	}

	private final static class _ThreadMethodRunner extends ThreadMethodRunner {

		/**
		 * @param threadRunListener
		 * @param container
		 * @param testcase
		 */
		protected _ThreadMethodRunner(ThreadRunListener threadRunListener, IContainer container, Object testcase) {
			super(threadRunListener, container, testcase);
		}

	}

}
